#include <iostream>
#include <vector>
#include <queue>
#include <vector>
#include <stack>
#include <algorithm>

using namespace std;

void main()
{
	vector<int> vec;
	vec.push_back(3);
	vec.push_back(5);
	vec.push_back(7);
	vec.push_back(9);

	for(int i=0; i < vec.size(); i++)
	{
		cout << "vec[" << i << "] = " << vec[i] << endl;
	}

	cout << "-----------------------------------------------" << endl;

	reverse(vec.begin(), vec.end());
	for(int i=0; i < vec.size(); i++)
	{
		cout << "vec[" << i << "] = " << vec[i] << endl;
	}

	cout << "-----------------------------------------------" << endl;

	queue<char> q;
	q.push('a');
	q.push('b');
	q.push('c');
	q.push('d');

	while (!q.empty())
	{
		cout << "'" << q.front() << "'" << endl;
		q.pop();
	}

	cout << "-----------------------------------------------" << endl;

	stack<char> s;
	s.push('a');
	s.push('b');
	s.push('c');
	s.push('d');

	while (!s.empty())
	{
		cout << "'" << s.top() << "'" << endl;
		s.pop();
	}
}